// 导入模块
const express = require('express')
const router = express.Router()
// 导入接口操作模块
const hanlde = require('../router_handle/index')

// 导入上传图片的的模块
const multer = require('multer')
// 导入不生产重复字符串的模块
const { v4 } = require('uuid')

// 存储图片到本地
const storage = multer.diskStorage({
    destination: (req, file, cb) => {
        cb(null, "./file") // 第一个参数为错误对象
    },
    filename: (req, file, cb) => {
        // avc.png abc是文件名不可以重复，用uuid实现
        // 文件后缀（png、jpg）
        let type = file.originalname.replace(/.+\./, ".")
        // 获取当前时间戳
        const timestamp = Date.now()
        // 生成文件名：uuid + 时间戳 + 文件扩展名
        cb(null, `${v4()}_${timestamp}${type}`)
    }
})
// 实例化
const upload = multer({ storage })

// 获取首页数据
router.get('/getLose', hanlde.getLost)

// 查询是否收藏物品
router.get('/isCollect', hanlde.isCollect)


// 获取收藏夹页面数据
router.get('/getCollect', hanlde.getCollect)

// 获取我的发布页面数据
router.get('/getMyPublish', hanlde.getMyPublish)

// 根据id获取数据
router.get('/getLoseById', hanlde.getLostById)

// 根据二级分类获取数据
router.get('/getLoseBySecond', hanlde.getLostBySecond)

// 模糊查询物品
router.get('/getLoseByLike', hanlde.getLoseByLike)

// 实现登录
router.get('/login', hanlde.login)

// 获取用户信息
router.get('/getUser', hanlde.getUser)

// 修改用户信息
router.post('/updateUser', hanlde.updateUser)

// 添加用户
router.post('/addUser', hanlde.addUser)

// 检查用户是否存在
router.get('/checkUser', hanlde.checkUser)

// 删除用户
router.post('/deleteUser', hanlde.deleteUser)

// 发布与后台的新增寻物
router.post('/publish', hanlde.publish)

// 上传图片
router.post('/uploading', upload.array("file", 6), (req, res) => {
    console.log('uploading')
    res.send(req.files)
    console.log(req.files)
})

// 去收藏物品
router.post('/toCollect', hanlde.toCollect)

// 取消收藏物品
router.post('/unCollect', hanlde.unCollect)

// 后台删除物品
router.post('/deleteLose', hanlde.deleteLose)

// 更改物品信息
router.post('/updateLose', hanlde.updateLose)

// 管理员相关路由
// 添加管理员
router.post('/addAdmin', hanlde.addAdmin)

// 删除管理员
router.post('/deleteAdmin', hanlde.deleteAdmin)

// 修改管理员密码
router.post('/updateAdmin', hanlde.updateAdmin)

// 查询管理员
router.get('/getAdmin', hanlde.getAdmin)

// 管理员登录
router.post('/adminLogin', hanlde.adminLogin)

// 获取评论列表
router.get('/getComments', hanlde.getComments)

// 添加评论
router.post('/addComment', hanlde.addComment)

// 获取分类列表
router.get('/categories', hanlde.getCategories)

module.exports = router

